Augmented reality installation/troubleshooting assistance

ABSTRACT

Embodiments are directed toward analyzing images of cables and electronic devices to augment those images with information relating to the installation or troubleshooting of such cables and electronic devices. The images are analyzed to determine non-text characteristics of a connector of the cable and non-text characteristics of at least one port on the electronic device. These non-text characteristics can be compared to each other to determine if the connector is compatible with one of the ports on the electronic device. Similarly, these non-text characteristics can be compared with non-text characteristics of known connectors and ports to determine a type of the connector and a type of the ports on the electronic device, which is used to determine their compatibility. The images are then modified or overlaid with information identifying the type of connector or port, their compatibility or lack thereof, or instructions for connecting the compatible connector and port.

BACKGROUND Technical Field

The present disclosure relates generally to augmented reality, and moreparticularly, but not exclusively, to enhanced installation andtroubleshooting of audio/visual equipment.

Description of the Related Art

It is now commonplace for the everyday household to have one or morehome theater systems. These systems can be as basic as a singletelevision with built-in speakers or as complicated as a multi-componentsystem with numerous-channel surround sound. These systems often includemany different audio/visual devices, such as a television, a set-topbox, an audio receiver, DVD/Blu-ray players, external digital videorecorder (DVR) devices, external speakers, and other audio/visualdevices. In many instances, these devices are communicatively coupled toone another via a series of wires. Although some devices can nowcommunicate via wireless data signals, the vast majority of devices inhomes today still rely on wired connections. As the number of componentsin a home theater system increases, so too does the number of wiresconnecting the various different devices. It can be difficult, however,to determine which wires are needed for each device and how to properlyconnect the wires to the devices. This problem can be accentuated whennew wire connectors, ports, and adaptors are introduced. It is withrespect to these and other considerations that the embodiments hereinhave been made.

BRIEF SUMMARY

Briefly described, embodiments are directed toward systems and methodsof presenting an augmented reality for electronic device installationand troubleshooting. A mobile computing device captures images of anelectronics cable and an electronic device. The images of the cable areanalyzed to determine non-text characteristics of a connector of thecable. Similarly, the images of the electronic device are analyzed todetermine non-text characteristics of at least one port on theelectronic device. In some embodiments, these non-text characteristicscan be compared to each other to determine if the connector iscompatible with one of the ports on the electronic device. In otherembodiments, these non-text characteristics can be compared withnon-text characteristics of known connectors and ports to determine atype of the connector and a type of the ports on the electronic device.The system can then determine if the cable connector and electronicdevice ports are compatible based on a comparison of the type of cableconnector and the type of ports.

The images captured by the mobile computing device can be modified oroverlaid with information identifying the type of cable connector, thetype of port, their compatibility or lack thereof, or instructionsregarding into which port to plug the connector. These modified imagescan then be displayed to the user in near real time, or “live,” whichpresent the user with an augmented reality of the identification,installation, or troubleshooting of cables and electronic devices.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments are described with referenceto the following drawings. In the drawings, like reference numeralsrefer to like parts throughout the various figures unless otherwisespecified.

For a better understanding of the present invention, reference will bemade to the following Detailed Description, which is to be read inassociation with the accompanying drawings:

FIG. 1 illustrates a context diagram of an example environment of a userutilizing a mobile computing device for augmented reality installationand troubleshooting assistance in accordance with embodiments describedherein;

FIGS. 2A-2R illustrate various example screenshots of a mobile computingdevice that utilizes embodiments described herein for augmented realityinstallation and troubleshooting assistance;

FIG. 3 illustrates a logical flow diagram generally showing oneembodiment of an overview process for providing augmented reality toassist in connecting cables to an electronic device in accordance withembodiments described herein;

FIG. 4 illustrates a logical flow diagram generally showing oneembodiment of an alternative process for providing augmented reality toassist in connecting cables to an electronic device in accordance withembodiments described herein;

FIG. 5 illustrates a logical flow diagram generally showing oneembodiment of an overview process for determining a type of cable orcable connector for providing augmented reality to assist in connectingcables to an electronic device in accordance with embodiments describedherein;

FIG. 6 illustrates a logical flow diagram generally showing oneembodiment of an overview process for determining a type of connectorport for providing augmented reality to assist in connecting cables toan electronic device in accordance with embodiments described herein;and

FIG. 7 shows a system diagram that describes one implementation ofcomputing systems for implementing embodiments described herein

DETAILED DESCRIPTION

The following description, along with the accompanying drawings, setsforth certain specific details in order to provide a thoroughunderstanding of various disclosed embodiments. However, one skilled inthe relevant art will recognize that the disclosed embodiments may bepracticed in various combinations, without one or more of these specificdetails, or with other methods, components, devices, materials, etc. Inother instances, well-known structures or components that are associatedwith the environment of the present disclosure, including but notlimited to the communication systems and networks, have not been shownor described in order to avoid unnecessarily obscuring descriptions ofthe embodiments. Additionally, the various embodiments may be methods,systems, media, or devices. Accordingly, the various embodiments may beentirely hardware embodiments, entirely software embodiments, orembodiments combining software and hardware aspects.

Throughout the specification, claims, and drawings, the following termstake the meaning explicitly associated herein, unless the contextclearly dictates otherwise. The term “herein” refers to thespecification, claims, and drawings associated with the currentapplication. The phrases “in one embodiment,” “in another embodiment,”“in various embodiments,” “in some embodiments,” “in other embodiments,”and other variations thereof refer to one or more features, structures,functions, limitations, or characteristics of the present disclosure,and are not limited to the same or different embodiments unless thecontext clearly dictates otherwise. As used herein, the term “or” is aninclusive “or” operator, and is equivalent to the phrases “A or B, orboth” or “A or B or C, or any combination thereof,” and lists withadditional elements are similarly treated. The term “based on” is notexclusive and allows for being based on additional features, functions,aspects, or limitations not described, unless the context clearlydictates otherwise. In addition, throughout the specification, themeaning of “a,” “an,” and “the” include singular and plural references.

References herein to “input/output port” or “port” refer to a port forreceiving or sending electronic signals, which may include electronicdata signals, electronic power signals, or other electrical signals. Aninput/output port may be an input port, an output port, or a combinationinput and output port, unless the context clearly dictates otherwise.Examples of input/output ports may include, but are not limited to, HDMIoutput ports, HDMI input ports, bi-directional HDMI ports, USB ports,RCA video or audio input ports, RCA video or audio output ports, powercable ports, coaxial cable ports, or other input or output ports.

References herein to an “electronic device” refer to a device thatincludes one or more input/output ports. Examples of electronic devicesmay include, but are not limited to, televisions, set-top boxes, audioreceivers, DVD/Blu-ray players, external digital video recorder (DVR)devices, external speakers, gaming consoles, laptop or desktopcomputers, smart phones, POTs telephones, modems, routers, or otherelectronic devices that have input/output ports.

FIG. 1 illustrates a context diagram of an example environment of a userutilizing a mobile computing device for augmented reality installationand troubleshooting assistance in accordance with embodiments describedherein. Example 100 includes content provider 104, information provider106, content distributor 102, communication networks 110, and userpremises 120.

In general, the user's premises 120 includes an entertainment system 128and a user 140. The entertainment system 128 includes a display device124, a television receiver 122, and a peripheral device 126. Details ofthese components and systems are described in more detail below. But abrief description of how the user 140 can utilize a mobile computingdevice 144 for augmented reality installation and troubleshootingassistance is now provided. The mobile computing device 144 can be anyportable electronic device with a camera and CPU that are in the samehousing, which may include a smartphone, a smart watch, portable laptopcomputer, tablet, or other similar devices.

In one example scenario the user 140 may want to add a new televisionreceiver 122 into their entertainment system 128. The user 140 canposition the new television receiver 122 into the entertainment system128 or the user 140 can place it on the floor or on a table. There willusually be one or more cables or wired connections that extend betweenthe television receiver 122, the display device 124 and one or moreperipheral devices 126, however, these are not shown in FIG. 1 for easeof illustration. Their use and locations will be explained in subsequentfigures. To receive instructions on how to install the televisionreceiver 122, the user 140 accesses an application or program executingon the mobile computing device 144. This application includes tutorials,instructions, or other information on how to connect the new televisionreceiver 122 to other electronic devices, such as the display device 124or other peripheral devices 126. Similarly, the application on themobile computing device 144 may also include troubleshooting informationfor assessing and fixing various issues that can arise during or afterthe installation process.

As described in more detail below in conjunction with FIG. 2 andelsewhere herein, the mobile computing device 144 instructs the user totake an image, or video, of the new television receiver 122 and anycables that the user already has or that came with the new televisionreceiver 122. In some embodiments, the mobile computing device 144 maydisplay “live” video captured by a camera on the mobile computing device144. As the user is viewing this “live” video, the mobile computingdevice 144 identifies the types of cables or cable connectors that theuser has access to, as well as the ports on the television receiver 122.The mobile computing device 144 then modifies the captured images toprovide additional instructions to the user 140, such as circling orhighlighting the particular cables or ports on the television receiver122 that are compatible with one another.

Since the mobile computing device 144 can provide step-by-stepinstructions to the user 140, the mobile computing device 144 can walkthe user through the installation process and indicate which cables areused to connect which electronic devices, and which ports on thoseelectronic devices are compatible with the user's cables. For example,the user can take images of the cables so that the mobile computingdevice 144 can identify which types of cables and connectors the userhas available, such as an HDMI cable.

The mobile computing device 144 can then instruct the user to take animage of the back of the television receiver 122 where the input/outputports are located. From this image, the mobile computing device 144 canidentify, for example, an HDMI output port that is compatible with theuser's HDMI cable. The mobile computing device 144 can modify or augmentthe image to indicate which port on the back of the television receiver122 is the correct HDMI output port and that the user should plug in anappropriate connector of the HDMI cable into that port.

The mobile computing device 144 can then instruct the user to takepictures of the entertainment system 128, from which it can identify thedisplay device 124 and modify the image to indicate which device is thedisplay device 124. Although this example may seem intuitive, somepeople may not know the difference between a DVR device and a Blu-rayplayer, or they may not know whether the Blu-ray player is output to theDVR device, which is then output to the television, or vice versa, orsome other input/output sequence between multiple electronic devices.

The mobile computing device 144 can then instruct the user to take animage of the side or back of the display device 124, depending on thelocation of the ports on the display device 124. From this image, themobile computing device 144 can determine which port is compatible withthe HDMI cable being output from the television receiver 122, such as anHDMI input port. Again, the mobile computing device 144 can modify theimage to indicate the appropriate port for the user to plug in the HDMIcable.

Although the above example describes the mobile computing device 144 asinstructing the user to take multiple images, the mobile computingdevice 144 may also be displaying “live” video from the camera on themobile computing device 144, and may instruct the user to point thecamera at the various electronic devices and cables from which thesystem can utilize one or more image frames of the video to do itsanalysis and augmentation.

Moreover, in some situations, some images may be too blurry toaccurately identify the input/output ports or the cable connectors.Accordingly, the mobile computing device 144 can instruct the user, viavisible or audible commands, to move the mobile computing device 144 orto turn, rotate, or otherwise reposition the electronic device, cables,camera, or mobile computing device to obtain better images.

Similarly, in some situations, there may not be enough light to identifythe non-text characteristics of the cable connectors or electronicdevice ports in the image. Accordingly, the mobile computing device caninstruct the user to shine additional light on the cable or electronicdevice, such as by turning on a room light, a flashlight, or the lightassociated with the camera on the mobile computing device. In some otherembodiments, the mobile computing device may instruct the user tomanually adjust a zoom, focus, color, or other imaging property orparameter of the camera on the mobile computing device to obtain betterimages.

In addition to instructing the user to perform some action in an attemptto obtain better images, the mobile computing device can performautomatic operations in an attempt to make the images better suited foridentifying the cable connectors or electronic device ports. Forexample, in some embodiments, the mobile computing device canautomatically turn on the light associated with the camera. This lightmay be a flash, such as for still frame images, or it may turn the lighton for a longer duration so that the mobile computing device canidentify the cable connectors or electronic device ports andappropriately augment the images in near real time, as described herein,while maintaining additional light on the cables or electronic devices.

In other embodiments, the mobile computing device may automaticallyadjust an imaging property or parameter of the camera on the mobilecomputing device. For example, the mobile computing device canautomatically adjust an optical or digital zoom of the camera on themobile computing device. Automatically adjusting the zoom enables themobile computing device to capture additional images with differentmagnifications of the cables or electronic devices, which can provideimages that with more distinct or defined non-text characteristics ofthe cable connectors or electronic device ports. In other embodiments,the mobile computing device may modify the focus, color, or otherimaging properties and parameters to improve the quality of the imagesfor identifying non-text characteristics of the cable connectors andelectronic device ports.

These manual or automatic adjustments, alone or in combination, canimprove the image quality for locating non-text characteristics of thecable connectors or electronic device ports. Similarly, these images andcommands can be utilized to instruct the user where to find otherinformation associated with the electronic device.

For example, assume the user needs to know the model number of theelectronic device, such as for registering the electronic device withthe manufacturer. The user can use the camera on the mobile computingdevice to take images of the electronic device. These images areutilized to identify a side of the electronic device that is facing thecamera. The images can then be augmented with commands, or the mobilecomputing device can provide audible commands, to instruct the user toturn the electronic device to the correct side that includes the modelnumber of the electronic device. As the user is turning the electronicdevice, the mobile computing device can continue to capture images andinstruct the user to keep turning the electronic device until the modelnumber is visible. At this point, the images can be augmented witharrows, circles, or other text, graphics, or symbols to show in realtime where the model number is located on the electronic device. Thisaugmented reality and instructions can guide a user to find informationon the electronic devices, buttons, displays, ports, or other featuresor components of the electronic device.

The techniques described herein can be applied to troubleshooting afterthe user has connected and installed the cables and electronic devices.For example, the mobile computing device 144 can instruct the user totake images of the various electronic devices, their ports, and thecables connecting them. From these images, and by employing embodimentsdescribed herein, the mobile computing device 144 can identify if any ofthe cables are incompatible with the current port it is plugged into;plugged into an incorrect port, such as an input port rather than anoutput port; or plugged into an incorrect electronic device.

The display device 124 may be a television, monitor, projector, or otherdisplay device. The peripheral device 126 includes one or more otherelectronic devices, such as, but not limited to, a DVD player, a VCR, aBlu-ray player, a stereo, an audio receiver, speakers, a game console, astand-alone DVR device, or other electronic devices.

The television receiver 122 is a computing device that receives contentfrom a content distributor 102 and provides it to the display device 124for presentation to the user 140. Examples of television receiver 122may include, but are not limited to, a set-top box, a cable connectionbox, a computer, or other content or television receivers. Thetelevision receiver 122 can be configured to receive the content fromthe content distributor 102 via wired connection 111, or satelliteantenna 116 via wired connection 113. For example, in some embodiments,the content distributor 102 may provide the content and data to a user'stelevision receiver 122 directly through communication network 110 viawired connection 111. In other embodiments, the content may be sentthrough an uplink (not illustrated), which goes to a satellite (notillustrated) and back to the satellite antenna 116 via satellite mediasignals 101.

Communication network 110 may be configured to couple various computingdevices to transmit content/data from one or more devices to one or moreother devices. For example, communication network 110 may be theInternet, X.25 networks, or a series of smaller or private connectednetworks that carry the content. Communication network 110 may includeone or more wired or wireless networks.

The content distributor 102 receives the content from content providers104. Briefly, content providers 104 generate, aggregate, and/orotherwise provide audiovisual content that is provided to one or moreusers. Sometimes, content providers are referred to as “channels.”Examples, of content providers 104 may include, but are not limited to,film studios; television studios; network broadcasting companies;independent content producers, such as AMC, HBO, Showtime, or the like;or other entities that provide content for user consumption. A contentprovider may also include individuals that capture personal or homevideos and distribute these videos to others over various onlinemedia-sharing websites or other distribution mechanisms. The contentprovided by content providers 104 may be referred to as the programcontent, which may include movies, sitcoms, reality shows, talk shows,game shows, documentaries, infomercials, news programs, sports programs,or the like. In this context, program content may also includecommercials or other television advertisements. It should be noted thatthe commercials may be added to the program content by the contentproviders 104 or the content distributor 102.

The content distributor 102 may also receive other information or data,such as from information provider 106. The Information provider 106 maycreate and distribute data or other information that describes orsupports audiovisual content. Generally, this data is related to theprogram content provided by content provider 104. For example, this datamay include metadata, program name, closed-caption authoring andplacement within the program content, timeslot data, pay-per-view andrelated data, or other information that is associated with the programcontent. In some embodiments, the content distributor 102 combines orotherwise associates the data from the information provider 106 and theprogram content from the content provider 104, which may be referred toas the distributed content or more generally as content. However, otherentities may also combine or otherwise associate the program content andother data together.

FIGS. 2A-2R illustrate various example screenshots of a mobile computingdevice that utilizes embodiments described herein for augmented realityinstallation and troubleshooting assistance. FIG. 2A illustrates a firstscreenshot 204 a in which the mobile computing device 144 instructs theuser to take a picture of image of one or more cables the user has and,in particular, the connectors of the user's cables. In variousembodiments, this screenshot may be displayed after a user has startedor configured the application or program that is to provide installationor troubleshooting assistance.

FIG. 2B illustrates a screenshot 204 b that is displaying an image ofcable 207 with a connector 205. The cable 207 can be the wiredconnection 111, 113 or some other wired connection, such as a wiredconnection between the television receiver 122, the display device 124and one or more peripheral devices 126. As mentioned above, the mobilecomputing device 144 can take still images of cable connector 205 ormultiple images as part of a video. The mobile computing device 144 thenemploys embodiments described herein to analyze the image to determine aplurality of non-text characteristics of cable connector 205.

FIG. 2C illustrates example non-text characteristics of an HDMI cableconnector. For example, the non-text characteristics may include a width206 c of the connector 205, a height 206 b of the connector, a number ofpins 206 d, and other facets 206 e or features 206 a. As described inmore detail below, these non-text characteristics may be compared tonon-text characteristics of known cable connectors to determine the typeof connector and cable. It should be noted that some cables have thesame connectors on each end of the cable, while other cables havedifferent connectors on each end.

Upon determining that cable connector 205 is an HDMI cable connector,the image of cable connector 205 may be modified to include, or overlaidonto, text 208 to indicate that cable connector 205 is for an HDMIcable, which is illustrated by screenshot 204 c in FIG. 2D. In otherembodiments, graphics, images, or other information may be added oroverlaid onto the image.

FIG. 2E illustrates a screenshot 204 d of another cable 209. In thisexample, each end of cable 209 includes a plurality of cable connectors211. The cable 209 can correspond to wired connections 111, 113 or canbe a different wired connection, such as a wired connection between thetelevision receiver 122, the display device 124 and one or moreperipheral devices 126.

FIG. 2F illustrates example non-text characteristics of an RCA cable andits cable connectors. For example, one non-text characteristic may beconnector sets 210 and 212 each having multiple connectors, such asconnectors 214 c, 214 f, and 214 g. Each separate connector may be adifferent color. For example, connector 214 c may be yellow, connector214 f may be white, and connector 214 g may be red. These colors can beused as non-text characteristics of cable 209. Other non-textcharacteristics can include a number, diameter, or length of pin 214 eof each connector; a width or diameter of housing 214 d of eachconnector, or other non-text characteristics. As described in moredetail below, these non-text characteristics may be compared to non-textcharacteristics of known cable connectors to determine the type ofconnectors and cable.

In some embodiments, other characteristics of cable 209 may also bedetermined. For example, in this illustration, cable 209 is loopedmultiple times into a circle. A width 214 a, length 214 b, and number ofloops may be determined. From this information the total length of cable209 can be determined. This information may be used by the mobilecomputing device 144 to determine if cable 209 is long enough to reachfrom one electronic device to another, such as by estimating distancesbetween electronic devices in an entertainment system, as discussedelsewhere herein.

FIG. 2G illustrates a screenshot 204 e that includes the image of cable209 along with text 216 to indicate that cable 209 is an RCA cable.Again, this augmented image may be displayed upon determining that cable209 is an RCA cable. Moreover, in other embodiments, graphics, images,or other information may also be added or overlaid onto the image toindicate the type cable.

Although only a few example cables and cable connectors are mentionedherein, the system may utilize similar embodiments to determine othernumbers and types of cables based on non-text characteristics of theirconnectors. Similarly, the user may be prompted to take images of eachseparate cable he or she has before proceeding to a next step in theinstallation or troubleshooting process.

Once one or more cables and their connectors are determined, the mobilecomputing device 144 instructs the user to take a picture or image oftheir entertainment system, which is illustrated by screenshot 204 f inFIG. 2H.

FIG. 2I illustrates a screenshot 204 g of the entertainment system 128.In this example, the entertainment system 128 includes a televisionreceiver 122 and a display device 124.

If the next step is to connect a cable to the television receiver 122,then the mobile computing device 144 tries to identify an input/outputport on the television receiver 122. In some situations, the televisionreceiver, or other electronic device, may be situated so that no portsare visible in the captured image. In other situations, the image may beof too poor quality to identify any ports on the electronic device. Ifno ports are identifiable, or if the mobile computing device 144 isconfigured to notify the user of one or more electronic devices in theimage, then it may augment the image to highlight the televisionreceiver 122, or other electronic devices. In some embodiments, thevarious different electronic devices may be determined based on theirshape or size, color characteristics of the devices, or otheridentifiers. For example, in some embodiments, a particular electronicdevice may be identified based on a QR codes, audible tones, LED lights.In other embodiments, a particular layout of buttons, logos, displayscreen, input/output ports, or some combination thereof. Similarly, anumber and spacing of ventilation slats can also be used to identify aparticular type of electronic device.

FIG. 2J illustrates a screenshot 204 h of an instruction to the user totake an image or picture of the back or other panel of the televisionreceiver 122 that includes input/output ports. As mentioned above, themobile computing device 144 can continuously instruct or augment theimages as the user is moving the television receiver 122 and notify theuser once the input/output ports on the television receiver 122 arevisible in the image.

FIG. 2K illustrates a screenshot 204 i of a back panel 224 of thetelevision receiver 122. Although FIG. 2K shows the television receiver122 directly in the middle of the image, in some situations thetelevision receiver 122 may be off center or parts of the televisionreceiver 122 may not be visible in the image. In these situations, themobile computing device 144 can instruct the user, e.g., via audiblecommands, to move the camera of the mobile computing device 144 in aparticular direction so that all ports of the television receiver 122are visible in the image. Similarly, as discussed in more detail above,the mobile computing device 144 can automatically adjust lighting, zoom,focus, color, or other parameter of the camera on the mobile computingdevice 144 to obtain better images of the television receiver 122 toidentify the ports on the television receiver 122.

The mobile communication device 144 identifies each possible port 226a-226 i based on one or more non-text characteristics of the ports. Forexample, port 226 a may be identified as a coaxial input port based onthe overall shape of the port, whereas port 226 e may be identified asan HDMI port based on a height 227 a, a width 227 b, one or more facets227 c, or a combination thereof.

In some embodiments, other features or characteristics of the televisionreceiver 122 may be utilized separately from, or in combination with,the non-text characteristics of the ports themselves to identify aninput/output port or whether it is an input port, output port, orbi-directional port. For example, television receiver 122 includes a box230 around ports 226 b-226 d to indicate an output port. Based on thefact that there are three ports inside the box, along with othernon-text characteristics of the ports themselves, the mobile computingdevice 144 can identify that these ports are RCA output ports. Inparticular a color of these ports can then be used to identify theindividual ports as a video port, a left audio port, or a right audioport.

It should be recognized that other non-text characteristics of the portsor the television receiver 122 may be utilized to identify the variousdifferent types of ports on the television receiver 122. Also, it shouldbe understood that the illustrated ports are for illustration purposesand other numbers or types of input/output ports may be included in thetelevision receiver 122.

Upon determining the types of ports on the television receiver 122, theimage of the television receiver 122 may be modified or overlaid withtext, graphics, or images to indicate the type of each port. In someembodiments, only those ports that are compatible with the cableconnectors the user previously took images of may be identified. Forexample, FIG. 2M illustrates a screenshot 204 j of a modified oraugmented image of the television receiver 122. In this illustration,RCA ports 231 and HDMI port 228 are highlighted with text 234 and 232,respectively, to indicate which port is compatible with RCA cable 209and which port is compatible with HDMI cable 207 and its connector 205.

The mobile computing device 144 may provide yet additional functionalityto the user. For example, in some embodiments, the user may click on orselect a particular port as a preferred port to use. In otherembodiments, the mobile computing device 144 may select a preferred portbased on the functionality or data quality associated with a particularport or cable. For example, as illustrated by screenshot 204 k in FIG.2N, the mobile communication device 144 selects HDMI port 228 as beingcompatible with the user's HDMI cable 207 and has a higher picturequality than the other ports that are compatible with the user's RCAcable 209. In some embodiments, the mobile computing device 144 may alsodisplay image 238 of cable connector 205 with an indicator 236 showinginto which port the user's cable is to be plugged.

In some embodiments, the mobile computing device 144 may assist the userin plugging the cable into the appropriate port. For example, as themobile computing device 144 is still taking “live” video of thetelevision receiver 122, the user may attempt to plug the HDMI connector205 into the HDMI port 228. However, if the user cannot see the cable orthe port, then they may have difficulty plugging the cable into theport. As such, the mobile computing device 144 can instruct the user,such as via audible commands, which way to move cable connector 205 sothat it lines up with the HDMI port 228.

In yet other embodiments, the mobile computing device 144 can utilizeadditional information about the user's cables and the environmentsurrounding the entertainment system to provide additional suggestionsto the user. For example, the mobile computing device 144 can utilizethe image of the entertainment system to determine an estimated distancebetween the television receiver 122 and display device 124. If a lengthof the HDMI cable 207 and the RCA cable 209 are determined, as mentionedabove, then the mobile computing device 144 may select the cable thathas the highest likelihood of reaching between to two devices. If bothcables will reach, then the cable that supports the better quality,framerate, etc. is selected.

If neither cable is compatible with the ports on the televisionreceiver, or if the mobile computing device 144 determines that theuser's cables are not long enough, then the mobile computing device 144may provide information to the user about an appropriate cable topurchase. Such information can include the type of cable, a length ofthe cable, a location where it can be purchased, etc. In someembodiments, this information may include URLs, advertisements, or otherinformation to assist the user in purchasing the proper cable. Likewise,if the user is instructed to purchase a cable, the user can then utilizethe mobile computing device 144 to take images of cables and connectorsin the store, and the mobile computing device 144 can performembodiments described herein to determine which cable is appropriate forthe user.

Moreover, in some embodiments, the images of the entertainment system128 can be further utilized to help organize a plurality of electronicdevices. For example, the mobile computing device can identify whichelectronic devices the user has, such as based on characteristics of theelectronic devices, and how much space is available in the entertainmentsystem 128. For example, the mobile computing device can utilize theimage of the entertainment system 128 to identify and determine thedimensions for each compartment or shelf that can hold an electronicdevice. The mobile computing device can then compare these dimensions tothe dimensions of the electronic devices to determine if and where theelectronic devices can fit into the entertainment system 128. Similarly,the mobile computing device can determine an arrangement of theelectronic devices in the entertainment system 128, such as based on thepreviously determined length of the user's cables, how the devices areconnected, and the functionality of the devices. For example, if allelectronic devices connect to an audio receiver, then the mobilecomputing device 144 can determine an arrangement of devices with theaudio receiver positioned in a compartment or shelf of the entertainmentsystem that is relatively central to the other electronic devices.

Although not illustrated, the mobile computing device 144 may ask theuser to take another image of the television receiver after the user hasplugged the cable into the port to verify that the proper cable and portwere utilized.

FIG. 2O illustrates a screenshot 204 l of an image of the entertainmentsystem 128. Since the user has already connected one end of the HDMIcable 207 to the television receiver 122, the mobile computing device144 may next instruct the user to take an image of the back of thedisplay device 124. Again, these instructions and indications of theproper electronic device may be added to or overlaid onto the image ofthe entertainment system. In some embodiments, the mobile computingdevice 144 may store images of the cables, cable connectors,entertainment system, or the electronic devices so additional referencescan be made to those devices and components, as in this example ofredisplaying the entertainment system 128.

Similar to what is illustrated and described in conjunction with FIGS.2L-2N, the mobile computing device 144 can determine which input/outputports are on the display device 124 and which ports are compatible withthe user's cables. FIG. 2P illustrates a screenshot 204 m of an image ofthe ports on the display device 124, in which the HDMI port ishighlighted. In this way, the user knows in which port on the displaydevice 124 to plug the other end of the cable that was previouslyplugged into the television receiver 122.

FIG. 2Q illustrates an alternative example of a screenshot 204 n of anaudio receiver 241 in which the mobile computing device 144 hasidentified various input/output ports on the audio receiver 241. In thisillustration, the mobile computing device 144 has augmented the image ofthe audio receiver 241 to include various text 240 a-240 g to indicatethe identified ports on the audio receiver 241, similar to what isdescribed above.

As mentioned above, a user may be enabled to click on or select aparticular port as a primary port, or to receive additional about theport. For example, the user can select RCA input port associated withtext 240 d, which provides additional information 252 a-252 cillustrated by screenshot 204 o in FIG. 2R. This additional informationcan further aid the user in plugging the appropriate cable connectorinto the appropriate port.

Again, it should be appreciated that the above examples can be performedwith still images as well as with video frames to create an augmentedreality of the various cables and electronic devices so that a userknows which cables and input/output ports are compatible with oneanother. These embodiments can be used in various combinations toprovide installation guidance as well as troubleshooting assistance.Moreover, although these examples discuss television receivers anddisplay devices, embodiments described herein can be utilized to connectcables to other types of electronic devices.

The operation of certain aspects will now be described with respect toFIGS. 3-6. In at least one of various embodiments, processes 300, 400,500, and 600 described in conjunction with FIGS. 3-6, respectively, maybe implemented by or executed on one or more computing devices, such asmobile device 144 in FIG. 1.

FIG. 3 illustrates a logical flow diagram generally showing oneembodiment of an overview process for providing augmented reality toassist in connecting cables to an electronic device in accordance withembodiments described herein.

Process 300 begins, after a start block, at block 302, where one or moreimages of one or more cables and an electronic device is received. Insome embodiments, a single image may have pictured both the cable(s) andthe electronic device. In other embodiments, a user may capture oneimage of the cables and then capture another image of the electronicdevice.

Process 300 continues to block 304, where a type of connector for theone or more cables in the image is determined. One embodiment ofdetermining the type of connector of a cable in an image is described inmore detail below in conjunction with FIG. 5. Briefly, however, non-textcharacteristics of the connectors of the cable in the image are analyzedand compared with non-text characteristics of known connectors.

Process 300 proceeds to block 306, where a one or more input/outputports on the electronic device in the image are determined. Oneembodiment of determining the input/output ports on an electronic devicein an image is described in more detail below in conjunction with FIG.6. Briefly, however, non-text characteristics of each possibleinput/output port of the electronic device in the image is analyzed andcompared with non-text characteristics of known input/output ports.

Process 300 continues next at block 308, where the type of cableconnector determined at block 304 is compared with the possibleinput/output ports determined at block 306. In some embodiments, thiscomparison may also include an analysis of whether a port needs to be aninput port or an output port, depending on the electronic device in theimage, the functionality of the cable between electronic devices, theinstallation or troubleshooting instructions associated with the cableor electronic device, the layout of a plurality of electronic devices,etc.

Process 300 proceeds next to block 310, where a determination is madewhether there is a match between the type of cable connector and aninput/output port on the electronic device. If there is a match, process300 proceeds to block 312; otherwise, process 300 proceeds to block 314.

At block 314 a non-match indicator is presented to the user. In at leastone embodiments, the image of the cable or electronic device may bemodified, or have overlaid thereon text, labels, logos, symbols images,or other data to indicate that none of the cable(s) in the image have aconnector that is compatible with any input/output ports on theelectronic device in the image. After block 314, process 300 terminatesor returns to a calling process to perform other actions.

If, at decision block 310, there is a match between a cable connectorand an input/output port, then process 300 proceeds from decision block310 to block 312. At block 314, the image(s) of the cable or electronicdevice may be modified, or have overlaid thereon, text, labels, logos,symbols, images, or other data to indicate which particular cableconnector and input/output ports are compatible with one another. Asdiscussed in more detail above, such image modification may includeboxes, circles, highlights, arrows, or other graphics or text to labelthe matching cable connector and input/output port. After block 314,process 300 terminates or returns to a calling process to perform otheractions.

Although process 300 is illustrated as utilizing single images,embodiments are not so limited. Rather, process 300 may loop from blocks314 or 312 to block 302 to continually process a plurality of imageframes of a video. In this way, a user can utilize their mobilecomputing device to display a “live” image of the cables and theelectronic device, while the mobile computing device is modifying thevideo with the appropriate match or non-match indicators—thus, providingthe user an augmented reality of the electronic device and the cables.

FIG. 4 illustrates a logical flow diagram generally showing oneembodiment of an alternative process for providing augmented reality toassist in connecting cables to an electronic device in accordance withembodiments described herein. Briefly, process 400 compares non-textcharacteristics of a cable connector with non-text characteristics ofinput/output ports to identify compatible ports and connectors, whereasprocess 300 in FIG. 3 determined a type of cable connector and a type ofport, which were then compared.

Process 400 starts, after a start block, at block 402, where a firstimage of a cable is received. In various embodiments, this image may bea single image captured by a user's mobile device 144 or it may be asingle image frame in a video being captured by the mobile device 144.As described herein, the image may have pictured therein one or aplurality of cables. But for ease of discussion, process 400 will bedescribed with respect to a single cable, and one of ordinary skill inthe art would be able to apply this process to multiple cables in one ormore images.

Process 400 proceeds to block 404, where the first image is analyzed toidentify a plurality of non-text characteristics of a connector of thecable in the first image. Non-text characteristics can include a lengthof the cable, a length of the connector, a width or diameter of theconnector or the cable, a number of pins associated with the connector,an overall shape or size of the connector, one or more side profileshapes or sizes of the connector, a front-face shape or size of theconnector, color(s) of the connector or the cable, a shape or size ofthe pins of the connector, a shape or size of a bracket or otherconnecting device attached to the connector, textures of the connectoror the cable, or other non-text characteristics. In some otherembodiments, textual characteristics may also be utilized alone or incombination with the non-textual characteristics.

As mentioned above, many non-text characteristics include a size of theconnector, cable, pins, etc. One of ordinary skill in the art shouldrecognize that these sizes may be actual metric system or Americansystem dimensions, or they may be relative sizes. For example, thediameter of a pin of a connector may be determined relative to anoverall width of the connector casing. In another example, one or morefacets of a given face of the connector may be compared to other facetsof the same face or a different face of the connector to determinerelative size of each facet.

Process 400 continues to block 406, where a second image of anelectronic device is received. Similar to what is described above inconjunction with block 402, this image may be a single image captured bya user's mobile device 144 or it may be a single image frame in a videobeing captured by the mobile device 144. As described herein, the imagemay have pictured therein one or a plurality of electronic devices. Butfor ease of discussion, process 400 will be described with respect to asingle electronic device, and one of ordinary skill in the art would beable to apply this process to multiple electronic devices in one or moreimages.

Process 400 proceeds to block 408, where the second image is analyzed toidentify a plurality of non-text characteristics of each possibleinput/output port on the electronic device in the second image. Non-textcharacteristics can include a shape or size of the port, number offacets of the port, color(s) of the port, a number of pins or pinacceptors associated with the port, a shape or size of the pins of theport, a shape or size of a bracket or other connecting device attachedto the port, textures or colors of a surface of the electronic devicesurrounding the port, borders on the surface of the electronic devicesurrounding the port, or other non-text characteristics. In some otherembodiments, textual characteristics may also be utilized alone or incombination with the non-textual characteristics.

As mentioned above, many non-text characteristics include a size of theport. One of ordinary skill in the art should recognize that these sizesmay be actual metric system or American system dimensions, or they maybe relative sizes. For example, the width of a port may be determinedrelative to height of the port. In another example, the diameter of apin acceptor of a port may be compared to an overall diameter of theport.

In some embodiments, a possible input/output port may be identifiedbased on a set of non-text characteristics that are proximal within apredetermined distance to one another. In other embodiments, a possibleinput/output port may be identified based on a distance from one set ofnon-text characteristics to another set of non-text characteristics.

Process 400 continues next at block 410, where the plurality of non-textcharacteristics of the cable connector is compared with the plurality ofnon-text characteristics of each possible input/output port. In variousembodiments, this comparison may include comparing multiple differentcombinations of non-text characteristics of the connector with differentcombinations of non-text characteristics of possible input/output ports.

Process 400 proceeds next to decision block 412, where a determinationis made whether there is a match between the non-text characteristics ofthe cable connector and the non-text characteristics of the possibleinput/output port. If there is a match, process 400 proceeds to block414; otherwise, process 400 proceeds to block 416.

At block 416, a non-match indicator is provided to the user. In variousembodiments, block 416 implements embodiments of block 314 to providenon-match indicators to the user. After block 416, process 400terminates or returns to a calling process to perform other actions.

If, at decision block 412, there is a match between the non-textcharacteristics of the cable connector and the non-text characteristicsof the possible ports on the electronic device, then process 400 flowsfrom decision block 412 to block 414. At block 414, the second image ismodified to include an indicator as to which input/output port(s) matchthe cable connector. In various embodiments, block 414 implementsembodiments of block 312 to provide an indicator of matching cableconnector and port(s) on the image. After block 416, process 400terminates or returns to a calling process to perform other actions.

Similar to process 300, process 400 can utilize a single images orprocess 400 may loop from blocks 414 or 416 to block 406 to continuallyprocess a plurality of image frames of a video. In this way, a user canutilize their mobile device to display a “live” image of the electronicdevice, while also overlaying non-match or match indicators on the videoframes—thus, providing the user an augmented reality of the electronicdevice.

FIG. 5 illustrates a logical flow diagram generally showing oneembodiment of an overview process for determining a type of cable forproviding augmented reality to assist in connecting cables to anelectronic device in accordance with embodiments described herein.

Process 500 begins at block 502, where an image of a cable is received.In various embodiments, block 502 implements embodiments of block 402 ofFIG. 4 to receive an image of a cable.

Process 500 continues at block 504, where the image is analyzed toidentify a possible connector of the cable. In various embodiments, apossible connector of the cable may be determined based on an identifiedend of the cable.

Process 500 proceeds to block 506, where the image is analyzed todetermine a plurality of non-text characteristics of the connector. Invarious embodiments, block 506 implements embodiments of block 404 ofFIG. 4 to determine a plurality non-text characteristics of theconnector.

Process 500 continues next at block 508, where the plurality non-textcharacteristics of the cable connector are compared with non-textcharacteristics of a plurality of known connectors. In variousembodiments, a database of known connectors and their non-textcharacteristics may be stored and used to compare with the non-textcharacteristics of the cable connector.

Process 500 proceeds next to decision block 510, where a determinationis made whether there is a match between the non-text characteristics ofthe cable connector and non-text characteristics of a known connector.If there is a match, process 500 proceeds to block 512; otherwise,process 500 proceeds to block 514.

At block 514, a non-match indicator is provided to the user. In variousembodiments, the image of the cable may be modified, or have text,labels, logos, symbols, images, or other data overlaid thereon toindicate the connector in the image does not match known connectors. Anon-match may occur when the image of the connector does not show enoughnon-text characteristics for a positive match with known connectors.After block 514, process 500 terminates or returns to a calling processto perform other actions.

If, at decision block 510, there is a match between the non-textcharacteristics of the cable connector and the non-text characteristicsof known connectors, then process 500 flows from decision block 510 toblock 512. At block 512, an indication of the type of cable is providedbased on the matched non-text characteristics. In some embodiments, theimage of the cable is modified to include text, labels, logos, symbols,images, or other data to indicate the type of connector and its cable.After block 512, process 500 terminates or returns to a calling processto perform other actions.

Similar to process 300, process 500 can utilize still image frames orprocess 500 may loop from blocks 514 or 512 to block 502 to continuallyprocess a plurality of image frames of a video. In this way, a user canutilize their mobile device to display a “live” image of one or morecables, while also overlaying an indicator of the type of cable—thus,providing the user an augmented reality of the cable.

FIG. 6 illustrates a logical flow diagram generally showing oneembodiment of an overview process for determining a type of connectorport for providing augmented reality to assist in connecting cables toan electronic device in accordance with embodiments described herein.

Process 600 begins at block 602, where an image of an electronic deviceis received. In various embodiments, block 602 implements embodiments ofblock 406 of FIG. 4 to receive an image of an electronic device.

Process 600 continues at block 604, where the image is analyzed toidentify possible input/output ports on the electronic device. Invarious embodiments, a possible input/output port may be identifiedbased on shadings or shapes on the electronic device.

Process 600 proceeds to block 606, where the image is analyzed todetermine a plurality of non-text characteristics of each possibleinput/output port on the electronic device. In various embodiments,block 606 implements embodiments of block 408 of FIG. 4 to determine aplurality non-text characteristics of each possible input/output port.

Process 600 continues next at block 608, where the plurality non-textcharacteristics of the possible input/output ports on the electronicdevice are compared to non-text characteristics of a plurality of knowninput/output ports. In various embodiments, a database of knowninput/output ports and their non-text characteristics may be stored andused to compare with the non-text characteristics of the possibleinput/output ports.

Process 600 proceeds next to decision block 610, where a determinationis made whether there is a match between the non-text characteristics ofthe possible input/output ports and the non-text characteristics of aknown input/output port. If there is a match, process 600 proceeds toblock 612; otherwise, process 600 proceeds to block 614.

At block 614, a non-match indicator is provided to the user. In variousembodiments, the image of the electronic device may be modified, or havetext, labels, logos, symbols, images, or other data overlaid thereon toindicate the ports on the electronic device in the image do not matchknown ports. A non-match may occur when the image of the electronicdevice does not show enough non-text characteristics for a positivematch with known input/output ports. After block 614, process 600terminates or returns to a calling process to perform other actions.

If, at decision block 610, there is a match between the non-textcharacteristics of a possible input/output port on the electronic deviceand the non-text characteristics of known input/output ports, thenprocess 600 flows from decision block 610 to block 612. At block 612, anindication of the type of ports on the electronic device are providedbased on the matched non-text characteristics. In some embodiments, theimage of the electronic device is modified to include the indication,such as text, of the type of each identified port. After block 612,process 600 terminates or returns to a calling process to perform otheractions.

Similar to process 300, process 600 can utilize still image frames orprocess 600 may loop from blocks 614 or 612 to block 602 to continuallyprocess a plurality of image frames of a video. In this way, a user canutilize their mobile device to display a “live” image of the electronicdevice, while also overlaying an indicator of the type of ports on theelectronic device—thus, providing the user an augmented reality of theelectronic device.

FIG. 7 shows a system diagram that describes one implementation ofcomputing systems for implementing embodiments described herein. System700 includes mobile computing device 144.

Mobile computing device 144 identifies cables and electronic deviceports based on non-text characteristics of the cable connectors and theports. The non-text characteristics are used to identify the type ofcable and the type of ports. They are used to determine cables and portsthat are compatible with one another, which is used to provide augmentedreality in the installation and troubleshooting of electronic devices,as described herein. One or more general-purpose or special-purposecomputing systems may be used to implement mobile computing device 144.Accordingly, various embodiments described herein may be implemented insoftware, hardware, firmware, or in some combination thereof. Mobilecomputing device 144 includes memory 730, one or more central processingunits (CPUs) 744, display 746, other I/O interfaces 748, othercomputer-readable media 750, network connections 752, and camera 754.

Memory 730 may include one or more various types of non-volatile and/orvolatile storage technologies. Examples of memory 730 may include, butare not limited to, flash memory, hard disk drives, optical drives,solid-state drives, various types of random access memory (RAM), varioustypes of read-only memory (ROM), other computer-readable storage media(also referred to as processor-readable storage media), or the like, orany combination thereof. Memory 730 may be utilized to storeinformation, including computer-readable instructions that are utilizedby CPU 744 to perform actions, including embodiments described herein.

Memory 730 may have stored thereon augmented electronic deviceinstallation system 712, which includes image processing module 734. Theimage processing module 734 may employ embodiments described herein toanalyze images to determine cable connectors and matching ports on anelectronic device, as described herein. Memory 730 may also store otherprograms 740 and other data 742. For example, other data 742 maytemporarily store images taken by camera 750 and processed by imageproceeding module 734. Once it is determined whether the image includesa connector or input/output port, or a match thereof, a modified versionof the image is displayed to the user via the display 746. Afterdisplay, the image may be discarded, deleted, or overwritten with newimages or data. In some embodiments, other data 742 may include non-textcharacteristics of known connectors or input/output ports. In otherembodiments, non-text characteristics of known connectors andinput/output ports may be stored on a remote computing device (notillustrated). The mobile computing device 144 may utilize the networkconnection interface 752 to communicate with the remote computing device(not illustrated) via and a network (not illustrated), such as theinternet, to access the non-text characteristics of known connectors andinput/output ports.

Display 746 is configured to display images taken by camera 750 to auser. Network connections 752 are configured to communicate with othercomputing devices, via a communication network (not illustrated). OtherI/O interfaces 748 may include a keypad, audio interfaces, other videointerfaces, or the like. Other computer-readable media 750 may includeother types of stationary or removable computer-readable media, such asremovable flash drives, external hard drives, or the like.

The various embodiments described above can be combined to providefurther embodiments. All of the U.S. patents, U.S. patent applicationpublications, U.S. patent applications, foreign patents, foreign patentapplications and non-patent publications referred to in thisspecification and/or listed in the Application Data Sheet areincorporated herein by reference, in their entirety. Aspects of theembodiments can be modified, if necessary to employ concepts of thevarious patents, applications and publications to provide yet furtherembodiments.

These and other changes can be made to the embodiments in light of theabove-detailed description. In general, in the following claims, theterms used should not be construed to limit the claims to the specificembodiments disclosed in the specification and the claims, but should beconstrued to include all possible embodiments along with the full scopeof equivalents to which such claims are entitled. Accordingly, theclaims are not limited by the disclosure.

The invention claimed is:
 1. A method executing on a computing device,comprising: receiving a first image of a first electronic device havinga plurality of ports identifiable in the first image; determining a porttype of each corresponding port of the plurality of ports based on aplurality of non-text characteristics of the corresponding port;receiving a second image of at least one electronics cable each having acorresponding connector identifiable in the second image; determining aconnector type of each corresponding connector based on a plurality ofnon-text characteristics of the corresponding connector; identifying anelectronics cable of the at least one electronics cable that has aconnector that is compatible with a port on the electronic device basedon a match between the connector type of the connector and the port typeof the port; modifying the second image to indicate the identifiedelectronics cable; and presenting the modified second image to a user ofthe computing device.
 2. The method of claim 1, further comprising:determining a distance between the first electronic device and a secondelectronic device; determining a length of each of the at least oneelectronics cable in the second image; and determining if one of the atleast one electronics cable is compatible between the first and secondelectronic devices based on a comparison between the distance betweenthe first and second electronic devices and the length of eachelectronics cable.
 3. The method of claim 2, further comprising: inresponse to determining that none of the at least one electronics cableare compatible between the first and second electronic devices,providing information to the user of the computing device identifying acompatible cable.
 4. The method of claim 2, further comprising: inresponse to determining that two electronics cables are compatiblebetween the first and second electronic devices, selecting theidentified cable from the two electronics cables that supports a higherquality video.
 5. The method of claim 1, wherein determining theconnector type of each corresponding connector includes: analyzing thesecond image to determine the plurality of non-text characteristics ofthe corresponding connector; comparing the plurality of non-textcharacteristics of the corresponding connector with a plurality ofnon-text characteristics of known connectors; and identifying theconnector type based on a match between the plurality of non-textcharacteristics of the corresponding connector and the plurality ofnon-text characteristics of a known connector.
 6. The method of claim 1,wherein determining the port type of each corresponding port includes:analyzing the first image to determine the plurality of non-textcharacteristics of each corresponding port; comparing the plurality ofnon-text characteristics of each corresponding port with a plurality ofnon-text characteristics of known ports; and identifying the port typebased on a match between the plurality of non-text characteristics ofthe corresponding port and the plurality of non-text characteristics ofa known port.
 7. The method of claim 1, wherein modifying the secondimage includes adding or overlaying at least one of text, a graphic, ora symbol that identifies the identified cable in the second image. 8.The method of claim 1, further comprising: modifying the first image toinclude or overlay at least one of text, a graphic, or a symbol onto thesecond image to show the user a location a port on the electronic devicethat matches the identified cable; and presenting the modified firstimage to the user.
 9. The method of claim 1, further comprising:providing at least one command to the user instructing the user toposition a camera on the computing device to capture the first andsecond images.
 10. The method of claim 1, further comprising: providingat least one command to the user instructing the user to connect theconnector of the identified cable to the matching port on the electronicdevice.
 11. The method of claim 1, wherein the plurality of non-textcharacteristics of each corresponding connector include at least one ofa color, a size, or a shape of the corresponding connector and whereinthe plurality of non-text characteristics of each corresponding portinclude at least one of a color, a size, or a shape of the correspondingport.
 12. A mobile computing device, comprising: a camera that capturesimages; a display that displays the images; a memory that storescomputer instructions and at least temporarily stores the capturedimages; and a processor that performs actions when executing theinstructions, the actions include: receiving, via the camera, a firstimage of an electronic device having a plurality of ports; analyzing thefirst image to determine a plurality of non-text characteristics of eachcorresponding port; receiving, via the camera, a second image of aplurality of cables each having a corresponding connector; analyze thesecond image to determine a plurality of non-text characteristics ofeach corresponding connector; comparing the plurality of non-textcharacteristics of each corresponding connector with the plurality ofnon-text characteristics of each corresponding port; determining if anelectronics cable of the plurality of cables is compatible with at leastone port on the electronic device based on a match between the pluralityof non-text characteristics of the corresponding connector of theelectronics cable and the plurality of non-text characteristics of theat least one port; in response to determining that the electronics cableis compatible with a port on the electronic device, augmenting thesecond image to highlight the determined electronics cable in the secondimage; and presenting the augmented second image on the display.
 13. Themobile computing device of claim 12, wherein augmenting the second imageincludes adding or overlaying at least one of text, a graphic, or asymbol that identifies a location within the second image or a type ofthe identified electronics cable.
 14. The mobile computing device ofclaim 12, wherein the processor performs further actions when executingthe instructions, the further actions comprising: providing at least onecommand to a user of the mobile computing device instructing the user toposition the camera capture the first and second images.
 15. The mobilecomputing device of claim 12, further comprising: in response todetermining that the electronics cable is compatible with a port on theelectronic device, augmenting the first image to highlight the port onthe electronic device in the second image.
 16. The mobile computingdevice of claim 12, wherein the processor performs further actions whenexecuting the instructions, the further actions comprising: in responseto determining that none of the plurality of electronics cable arecompatible with the plurality of ports on the electronic device,presenting information on the display identifying a compatible cable.17. A method executing on a mobile computing device, comprising:receiving an image of an electronics cable having a connector; analyzingthe image to identify a plurality of non-text characteristics of theconnector; determining a connector type of the electronics cable basedon a comparison between the plurality of non-text characteristics of theconnector and non-text characteristics of a plurality of knownconnectors; modifying the image to indicate the connector type of theelectronics cable; and displaying the modified image to a user of themobile computing device.
 18. The method of claim 17, further comprising:receiving a second image of an electronic device having a plurality ofports identifiable in the second image; determining a port type of eachcorresponding port of the plurality of ports based on a plurality ofnon-text characteristics of the corresponding port; identifying a porton the electronic device with the port type that matches the connectortype of the electronics cable; modifying the second image to indicatethe identified port; and displaying the modified second image to theuser.
 19. A method executing on a mobile computing device, comprising:receiving an image of at least one port on an electronic device;analyzing the image to identify a plurality of non-text characteristicsof the at least one port; determining a port type of the at least oneport based on a comparison between the plurality of non-textcharacteristics of the at least one port and non-text characteristics ofa plurality of known ports; modifying the image to indicate the porttype of the at least one port; and displaying the modified image to auser of the mobile computing device.
 20. The method of claim 19, furthercomprising: receiving a second image of a plurality of electronicscables having a corresponding connector that is identifiable in thesecond image; determining a connector type of each correspondingconnector based on a plurality of non-text characteristics of thecorresponding connector; identifying an electronics cable of theplurality of electronics cables with the connector type that matches theport type of the at least one port on the electronic device; modifyingthe second image to indicate the identified electronics cable; anddisplaying the modified second image to the user.